/**
 * 
 */
package modele;

/**
 * @author ahmed
 *
 */
public abstract class Modele
{
	/**
	 * dimensions du plateau
	 */
	protected int dimension;

	/**
	 * Plateau de jeu
	 */
	protected Symbole [] [] plateau;

	/**
	 * @param dimension
	 */
	public Modele(int dimension)
	{
		if(dimension<3 || dimension>10)
			throw new IllegalArgumentException("dimension non comprises entre 3 et 10");
		this.dimension = dimension;
		plateau = new Symbole[dimension][dimension];
		for (int i=0; i<dimension; i++)
		{
			for(int j=0;j<dimension;j++)
			{
				this.plateau[i][j] = Symbole.VIDE;
			}
		}
	}

	/**
	 * @return la dimension du plateau
	 */
	public int getDimension()
	{
		return dimension;
	}
	/**
	 * 
	 * @param coord
	 * @param symbole
	 * @return
	 */
	protected boolean jouer(Coordonnees coord,Symbole symbole)
	{
		if(this.plateau[coord.getX()][coord.getY()]==Symbole.VIDE)
		{
			this.plateau[coord.getX()][coord.getY()]= symbole;
			return true;
		}
		return false;
	}
	

}
